Skip to main content

排查限流问题

您的 API 限流

约束条件

您的 API 具有请求限制。

如果达到约束,用户将看到的错误

  • 如果是触发器,用户会收到一封电子邮件,其中包含关于触发器错误的错误消息。
  • 如果是操作,用户会在 Zap 运行历史中看到错误。

最佳实践

在您的 429 响应中添加一个具体的 Retry-After 标头,或者在错误响应中使用特殊的 ThrottledError 来指定定时延迟。这样,用户 Zap 就不会因为错误而中断,而是会在指定时间自动重试请求。

有关重试的更多信息,请参阅此处。在限制仍然生效时,用户会在 Zap 运行历史中看到等待/已调度 状态消息,而不是错误。

Platform UI vs CLI 比较

如果实现 ThrottledError,您可以考虑添加抖动机制来处理 429 错误,例如以下代码来随机化重试间隔:

throw new z.errors.ThrottledError('message here', 60 + Math.floor(Math.random() * 60))

请注意,使用 ThrottledError 进行自定义错误处理可能需要发布新集成版本,而添加标头则可以在您的 API 端直接实现。

Zapier 的 Webhook 限流

约束条件

Zapier 当前的 Webhook 限制详见此处。如果您的集成超过这些限制(即发送给 Zapier 的 Webhook 数量),会返回 429 响应。

如果达到约束,用户将看到的错误

  • 用户会收到一封电子邮件,其中包含关于触发器错误的错误消息。

最佳实践

您应该实现重试或退避机制,以确保数据最终被成功接收。

Zapier 的轮询触发器限流

约束条件

默认限制是每次轮询后,去重后识别最多 100 个新项目。更多详情请参阅此处

如果达到约束,用户将看到的错误

  • 用户会收到一封关于 Zap 运行被暂停的电子邮件,并在 Zap 运行历史中看到带有相同信息的横幅通知。

最佳实践

如果您的触发器持续返回超过 100 个新记录,建议将其转换为基于 REST Hook 的触发器。Webhook 的限制更高(每 5 分钟最多 10,000 次请求)。


需要帮助?告诉我们您的问题,我们会为您连接合适的资源或联系支持。